Update the version of Node for tests to use at least Node 22
Categories
(Firefox Build System :: Toolchains, task)
Tracking
(firefox140 fixed)
Tracking | Status | |
---|---|---|
firefox140 | --- | fixed |
People
(Reporter: whimboo, Assigned: standard8)
References
(Blocks 1 open bug)
Details
Attachments
(2 files)
The current version 18 of node that is used on test machines will reach its support end by May 2025. We should consider to upgrade node to at least version 20 LTS. Given that there is as well version 22 LTS available should we upgrade directly to the latest one?
We need it for running newer Puppeteer tests (they actually rely on 22LTS now) and for now we have a workaround in place to fallback to tsx
instead of using the new --experimental-strip-types
feature. Also when Node 18 reaches its end Puppeteer will stop supporting this version of Node.
Reporter | ||
Comment 1•4 months ago
|
||
Hi Mike, if you could give some feedback that would be appreciated. Thanks!
Comment 2•4 months ago
|
||
I'm not sure what feedback you're looking for.
Assignee | ||
Comment 3•4 months ago
|
||
Node 22 would be more useful unless there's objections/issues. We just hit a case in bug 1939658, which would need Node 22.1.0.
Reporter | ||
Comment 4•4 months ago
|
||
(In reply to Mike Hommey [:glandium] from comment #2)
I'm not sure what feedback you're looking for.
I think that the question in comment 0 was clear enough (there is nothing else on this bug otherwise)?
But as Mark now stated as well, maybe we should skip version 20 (LTS) and directly upgrade to 22 (LTS)?
Comment 5•4 months ago
|
||
The only question I see in comment 0 is "Given that there is as well version 22 LTS available should we upgrade directly to the latest one?" and I don't have any insight wrt that.
Comment 6•4 months ago
|
||
FYI: We plan to test WebTransport over HTTP/2 with fallback components, which also requires Node.js version 22.
Thanks.
Comment 7•2 months ago
|
||
Hi Mike,
Any chance you could make this happen a bit sooner?
Or could you guide me on how to do this?
Thanks.
Comment 8•2 months ago
|
||
You're free to submit a patch editing taskcluster/kinds/toolchain/node.yml and taskcluster/kinds/fetch/toolchains.yml appropriately.
Comment 9•2 months ago
|
||
Updating the summary to reflect that we would rather directly update to 22.
Comment 10•2 months ago
|
||
Apparently, we need to build node 22 from source (like what we did for node 18).
Unfortunately, I got this build failure and I have no idea how to fix it.
Reporter | ||
Comment 11•2 months ago
|
||
I don't know much about C++ but searching a bit on the web opens the question for me if common_reference_t
is a c++20 concept feature. GCC 11.4 doesn't seem to support C++20 by default. Would maybe using the -std=c++20
compiler flag be an option to get it working? But just a shot in the dark...
Comment 12•2 months ago
|
||
Updated•2 months ago
|
Comment 13•2 months ago
|
||
The attached patch (and patch queue below that) should get you started. You may need to adjust the max-run-time for the task.
Updated•2 months ago
|
Comment 14•2 months ago
|
||
There is an r+ patch which didn't land and no activity in this bug for 2 weeks.
:glandium, could you have a look please?
If you still have some work to do, you can add an action "Plan Changes" in Phabricator.
For more information, please visit BugBot documentation.
Comment 15•2 months ago
|
||
The attached patch is not enough to address comment 0. It's a stepping stone for someone to test the new version of node.
Comment 16•25 days ago
|
||
(In reply to Mike Hommey [:glandium] from comment #15)
The attached patch is not enough to address comment 0. It's a stepping stone for someone to test the new version of node.
Sorry for the delay.
I think we should land that patch and resolve this bug. I'll file another bug for using node 22 in xpcshell-test.
Reporter | ||
Comment 17•18 days ago
|
||
I'm happy to see this patch landed as is, and we can file a separate bug as well for getting puppeteer tests upgraded to Node 22.
Mike, or do you want to see all tasks that use Node 18 upgraded at once unless they show failures?
Assignee | ||
Comment 18•18 days ago
|
||
(In reply to Henrik Skupin [:whimboo][⌚️UTC+2] from comment #17)
I'm happy to see this patch landed as is, and we can file a separate bug as well for getting puppeteer tests upgraded to Node 22.
Mike, or do you want to see all tasks that use Node 18 upgraded at once unless they show failures?
We should be able to upgrade everything at the same time, the amount of work should be about the same unless there's issues on a particular build set. We have patterns to follow (I might have done it already, but I haven't had time to look).
I don't see an issue with attaching a second patch to this bug to add the additional items, especially given what Mike has already said.
Assignee | ||
Comment 19•13 days ago
|
||
Assignee | ||
Comment 20•13 days ago
|
||
I've added a patch that I think upgrades this correctly. There is a try push here, feel free to add more builds if I've missed the ones that apply to your area.
I'm kinda hoping to land this before the ESR branches, so that we have the same version of node on ESR140 which might help with uplifts.
Assignee | ||
Updated•13 days ago
|
Comment 21•12 days ago
|
||
Comment 22•12 days ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/c2cbb362f6ee
https://hg.mozilla.org/mozilla-central/rev/ea4930ad6ffd
Description
•